#! /bin/bash
HIVE_HOME=/usr/bin/hive


${HIVE_HOME} -S -e "
-- DWB层
create database if not exists oe_dwb;
use oe_dwb;

-- 创建在读学员人数维度表
drop table if exists dwb_class_studying_student_count;
create table if not exists dwb_class_studying_student_count
(
    id                     int,
    school_id              int comment '校区id',
    subject_id             int comment '学科id',
    class_id               int comment '班级id',
    studying_student_count int comment '在读班级人数',
    studying_date          date comment '在读日期'
) comment '在读学员人数信息表'
    row format delimited
        fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'SNAPPY');

-- 打卡信息宽表
drop table if exists dwb_check_detail;
create table if not exists dwb_check_detail
(
    -- 打卡表
    id                    int comment '主键id',
    time_table_id         int comment '作息时间id 关联tbh_school_time_table 或者 tbh_class_time_table',
    class_id              int comment '班级id',
    student_id            int comment '学员id',
    signin_time           string comment '签到时间',
    signin_date           date comment '签到日期',
    share_state           int comment '共享屏幕状态 0 否 1是  在上午或下午段有共屏记录，则该段所有记录该字段为1，内网默认为1 外网默认为0 ',
    -- 排课表
    class_date            date comment '上课日期',
    content               string comment '课程内容',
    -- 班级作息时间表
    morning_template_id   int comment '上午出勤模板id',
    morning_begin_time    string comment '上午开始时间',
    morning_end_time      string comment '上午结束时间',
    afternoon_template_id int comment '下午出勤模板id',
    afternoon_begin_time  string comment '下午开始时间',
    afternoon_end_time    string comment '下午结束时间',
    evening_template_id   int comment '晚上出勤模板id',
    evening_begin_time    string comment '晚上开始时间',
    evening_end_time      string comment '晚上结束时间',
    use_begin_date        date comment '使用开始日期',
    use_end_date          date comment '使用结束日期'
) COMMENT '打卡信息宽表'
    row format delimited
        fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'SNAPPY');

-- 创建请假信息宽表
drop table if exists dwb_leave_detail;
create table if not exists dwb_leave_detail
(
    -- 请假表
    id                    int,
    class_id              int comment '班级id',
    student_id            int comment '学员id',
    audit_state           int comment '审核状态 0 待审核 1 通过 2 不通过',
    begin_time            string comment '请假开始时间',
    begin_time_type       int comment '1：上午 2：下午',
    end_time              string comment '请假结束时间',
    end_time_type         int comment '1：上午 2：下午',
    cancel_state          int comment '撤销状态  0 未撤销 1 已撤销',
    valid_state           int comment '是否有效（0：无效 1：有效）',
    -- 排课表
    class_date            date comment '上课日期',
    content               string comment '课程内容',
    -- 班级作息时间表
    morning_template_id   int comment '上午出勤模板id',
    morning_begin_time    string comment '上午开始时间',
    morning_end_time      string comment '上午结束时间',
    afternoon_template_id int comment '下午出勤模板id',
    afternoon_begin_time  string comment '下午开始时间',
    afternoon_end_time    string comment '下午结束时间',
    evening_template_id   int comment '晚上出勤模板id',
    evening_begin_time    string comment '晚上开始时间',
    evening_end_time      string comment '晚上结束时间',
    use_begin_date        date comment '使用开始日期',
    use_end_date          date comment '使用结束日期'
) COMMENT '请假信息宽表'
    row format delimited
        fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'SNAPPY');"